<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        function sum() {
            // console.log('arguments', arguments);
            // console.log('arguments.callee',arguments.callee);
            var sum = 0;
            for(var i=0; i<arguments.length; i++) {
                sum += arguments[i];
            }
            return sum;
        }
        sum(1, 2);
        console.log(sum(1, 2, 222));

        // arguments.callee 指函数体本身
        // arguments 对象指的是实参对象 是一个"伪数组"
        // arguments是一个伪数组
        /*
        *  Arguments(2) [1, 2, callee: ƒ, Symbol(Symbol.iterator): ƒ]
        *   0: 1
        *  1: 2
        *  callee: ƒ sum(x,y)
        *  length: 2
        */

        // 不死神兔
        function fb(n) {
            if (n===1 || n===2) {
                return 1;
            }
            return arguments.callee(n-1) + arguments.callee(n-2);
        }
        console.log(fb(6));
    </script>
</body>

</html>